#ifndef DX11LIGHTINGMANAGER_H
#define DX11LIGHTINGMANAGER_H

#include "Singleton.h"
#include "Light.h"

#include <string>
#include <vector>
#include <D3DX11.h>
#include <xnamath.h>
#include <map>

class DX11LightingManager : public Uncopyable
{
	DX11LightingManager();
	friend class Singleton<DX11LightingManager>;
public:
	void SetLight(const std::string& lightTag, const Light& light);
	const Light& GetLight(const std::string& lightTag);

	void Draw(const std::string& lightTag);
	void DrawAll();

private:
	const void CheckLight(const std::string& lightTag);

private:
	std::map<std::string, Light> m_lights;
};

typedef Singleton<DX11LightingManager> TheDX11LightingManager;

#endif //DX11LIGHTINGMANAGER_H